home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / umich / telecomm / stadel / stadel2.zoo / document / util.doc < prev   
Encoding:
Text File  |  1989-08-11  |  17.2 KB  |  401 lines

  1.                               Introduction
  2.  
  3.     Since the days of yore when we received Citadel (the Z80 version 
  4.     of Citadel, that is...) from CUG (C User's Group), several
  5.     utilities of interest have been added to the package to supplement
  6.     the original two .com files that came with the package, to wit
  7.     Citadel and Configur.  These come in two types:  one, to provide 
  8.     information about what's going on inside this monster which, due
  9.     to runtime space considerations, could not be gotten at;  two, the
  10.     ability to change certain parameters which were either impossible
  11.     to change once a BBS was set up, or were, at the least, difficult
  12.     to change.  
  13.  
  14.     So, the files just grew and evolved.  To run any of these
  15.     utilities, you've got to be in the directory where your
  16.     ctdltabl.sys is located.  When you do a shell escape from inside
  17.     STadel, it writes a copy of ctdltabl.sys to the directory you
  18.     started out in, so that you may run these programs from there.  
  19.  
  20. 1) CLOG
  21.  
  22.     Clog provides access to the userlog for the Sysop.  To use it, the
  23.     file ctdltabl.sys (the one generated by Configur and maintained by
  24.     Citadel) must be on the default disk, and so must be ctdllog.sys.  
  25.  
  26.     There are two ways of using Clog.  First, there is the simple
  27.     call:  
  28.  
  29.      $ clog
  30.  
  31.     This will print out on the console the list of users in the file 
  32.     as they appear in the file.  The user of this program should be 
  33.     warned that Citadel does not put new users into the userlog in 
  34.     sequential order.  Instead, they are hashed into the log.  Usually,
  35.     first user to log into the system ends up occupying the last 
  36.     position in the file!  In general, users are sprinkled everywhere,
  37.     so don't be alarmed if nothing shows up right away.  Be patient.  
  38.  
  39.     In any case, the list is printed out as follows.  First, the log 
  40.     position will be printed out, which will always be in sequential 
  41.     order.  If nobody occupies that position, then Clog proceeds to
  42.     the next log position.  If somebody does occupy that position,
  43.     then the name of that person (or alias) will be printed out,
  44.     followed by his/her status as aide, expert/non-expert, and screen
  45.     width.  
  46.  
  47.     The second way to use Clog is to give it arguments.  There are 
  48.     two arguments currently available;  the -p argument and the -a
  49.     argument.  
  50.  
  51.       $ clog -p -a
  52.  
  53.     -p will cause the passwords to be listed along with the user's 
  54.     name.  This is very useful if somebody forgets their password.  -a
  55.     will only list the aides on the system (this was put in because
  56.     some unscrupulous users might make themselves aides if they get
  57.     access to the system console).  
  58.  
  59. 2) EXPAND
  60.  
  61.     Expand's purpose in life is to allow the sysop to expand the size
  62.     of his/her message file (ctdlmsg.sys).  This makes it easy to 
  63.     move upwards as one gets rich running Citadel for cold, hard cash 
  64.     and acquires better and better equipment.  
  65.  
  66.     Expand expects to find the file ctdltabl.sys on the default disk 
  67.     in the default user area and the ctdlmsg.sys file in #msgdir.  
  68.     Simply call Expand without arguments.  Once it has loaded
  69.     ctdltabl.sys, it will display the current size of the message
  70.     file, and then ask for the new size.  Then Expand will do it's
  71.     job.  THIS IS A SLOW PROCESS.  Be patient.  The program will be
  72.     printing some stuff out that might allow the sysop to figure out
  73.     where the program is.  
  74.  
  75.     Once the program is done, it will say so, and will also tell you 
  76.     that there is no reason to reconfigure.  This is true -- But you
  77.     should update ctdlcnfg.sys immediately*.  
  78.  
  79. 3) LOGEDIT
  80.  
  81.     Logedit is provided for when strange things start happening in 
  82.     the log file, such as duplicate or semi-duplicate logs start 
  83.     appearing.  Logedit lets the sysop change a users name, password, 
  84.     or kill the account.  
  85.  
  86.     To run, make sure the disk with the #sysDir files is in its 
  87.     normal position, and run Logedit.  Logedit will ask for a user 
  88.     number to modify -- this is the users position in the call log.  
  89.     (This can be gotten from Clog.) 
  90.  
  91. 4) LCHANGE
  92.  
  93.  
  94.     Lchange lets the Sysop change the size of the current userlog
  95.     file.  To use it, you type 
  96.  
  97.     $ Lchange <new-log-size>
  98.  
  99.     And Lchange will modify the existing ctdllog.sys.  It will then
  100.     tell you to modify your ctdlcnfg.sys -- you do not need to
  101.     reconfigure.  
  102.  
  103.     <new-log-size> must be greater than 0.  Lchange needs temporary
  104.     space in your #sysDir -- you must have at least 512 free bytes per
  105.     log entry for the new ctdllog.sys.  
  106.  
  107. 5) POPULAR
  108.  
  109.     The Popular utility is a statistics-gathering utility, and, as 
  110.     such, can be easily viewed as your basic feeping creaturism.
  111.     However, for those of us who have somehow acquired that horrible
  112.     taste for odd statistics about how people use Citadel, it does
  113.     serve some purpose.  
  114.  
  115.     Popular gathers statistics about the Public rooms on a system.  
  116.     These statistics consist of simply calculating how many people
  117.     have forgotten each Public room on a system.  Yes, a rather odd
  118.     statistic to gather, but there it is.  Once it has finished
  119.     processing the data, it displays the results in tabular form, in
  120.     (roughly) the following form:  
  121.  
  122. <room name>    <# of people who have forgotten this room> <% of total users>
  123.  
  124.     To use this utility, simply make sure your data files are in 
  125.     their normal drives, and run this program.  
  126.  
  127.     There are a few command-line options available for Popular:  
  128.     `-m' will list the number of messages in each room.  
  129.     `-s' will sort the output listing in a few different ways;  `-sp' 
  130.     sorts the output by # messages in rooms, `-sz' sorts by number of 
  131.     people who have forgotten each room, and `-sb' sorts by both
  132.     number of messages in each room and number of people who have
  133.     forgotten each room.  Needless to say, if you don't do `-m',
  134.     Popular will not be able to sort by # of messages in each room.  
  135.     `-r' selects the rooms that Popular does statistics for.  Normally,
  136.     Popular merely does the statistics for public rooms, but if you
  137.     have a system like Pell where 99% of the rooms are private, that
  138.     leads to massively dull popularity lists.  -r takes a second
  139.     option character to determine which sorts of rooms to create
  140.     statistics for:  `a' generates statistics for _all_ the rooms on
  141.     your system;  `i' generates statistics for invitation-only rooms;
  142.     `h' generates statistics for private non-invitation-only rooms;
  143.     `s' generates statistics for all private rooms, invite-only or
  144.     not;  and `n' generates statistics for all non-invite-only rooms.  
  145.  
  146. 6) CKDOOR
  147.  
  148.     Ckdoor is a simple utility that scans your Ctdldoor.sys file and 
  149.     makes sure that it is correct.  To run it, you must be in the 
  150.     directory that contains your Ctdldoor.sys file.  
  151.  
  152. 7) DUMPNET
  153.  
  154.     Dumpnet produces an ascii dump of all the net nodes for your
  155.     system.  It is handy for moving a netlist between versions of
  156.     STadel.  To use it, type `Dumpnet > listfile'.  You must be in the
  157.     directory with your ctdltabl.sys to run it.  
  158.  
  159.     Dumpnet produces records of the form shown below:  
  160.  
  161.     #node the land@US (513) 254 6811
  162.     2,E0,L10,+
  163.  
  164.     00000601,01
  165.     citanews    11893
  166.     net.politics    11893
  167.     net.religion    11893
  168.     administrivia    11893
  169.     bbs list    11893
  170.     net.sci-fi    11893
  171.     net.flames    11893
  172.     Dumpster    11893
  173.     Sysop Stuff    11893
  174.     aide    11640
  175.     STadel    11893
  176.     comp.atari    11893
  177.     comp.amiga    11893
  178.     C    11893
  179.     Modula-2    11893
  180.     net.gossip    11893
  181.  
  182.  
  183.     The first line (#node) gives the system name and node-id/telephone
  184.     number.  
  185.     The second line is options for this node - the first number is the
  186.     baudrate code for that system (followed by a `R' if it is a
  187.     recieve-only system), and the rest of the fields are optional:
  188.     Enumber is the external dialer that the system uses (zero means it
  189.     doesn't use one);  Lnumber is the long distance flag - if zero, it
  190.     is a local system, otherwise it's the retry count for that system;
  191.     `+' means the system will do long-distance role reversal.  
  192.     The third line is the [A]ccess code for the system, if any.  
  193.     The fourth line is contains an encoded long that tells what
  194.     networks the node is active in, followed by an optional integer
  195.     (,integer) that gives the days that this system will be polled in.
  196.  
  197.     The lines after that are the rooms that this system shares with
  198.     your system.  The number after the roomname (the roomname is
  199.     separated from the number by a single tab) is the message-id of
  200.     the last message sent to that system from your system.  The list
  201.     of rooms shared is terminated by a blank line.  
  202.     Dumpnet does not dump the backbone status of a room.  
  203.  
  204. 8) LOADNET
  205.  
  206.     Loadnet takes the output of Dumpnet and converts it into a 
  207.     ctdlnet.sys.  To use it, type `Loadnet listfile'.  
  208.  
  209.     When reloading a network, Loadnet makes assumptions about backbone
  210.     status on netrooms - if a system is a long-distance system, all
  211.     the rooms shared with it will be backboned, otherwise they won't.  
  212.  
  213.     Also, when you reload a network with Loadnet, you can diddle the 
  214.     need-to-call status of rooms by telling Loadnet to set a specific 
  215.     message-number as last-netted.  If you do `Loadnet -number
  216.     listfile', all rooms that do not have a lastmessage set will have
  217.     their lastmessage set to the number you passed in (if the number
  218.     is negative, the lastmessage will be set to the highest message in
  219.     the system plus that number...) 
  220.  
  221. 9) PCPDIAL
  222.  
  223.     Pcpdial attempts to call a system via pc pursuit.  It will call
  224.     your local telenet access point, attempt to connect to the 
  225.     destination city, then call the system on the other end.  It is 
  226.     primarily for STadel networking, but may be used for manual 
  227.     dialing.  
  228.  
  229.     Pcpdial reads the file pcpdial.ini in your #netDir for various
  230.     parameters it needs to connect to telenet.  pcpdial.ini is a
  231.     straight ascii file that contains local access numbers, your
  232.     telenet password, your telenet userid, and the baudrate that your
  233.     local access number is at.  Pcpdial.ini contains the following
  234.     lines:  
  235.  
  236.     userid <your telenet user id>
  237.     password <your telenet password>
  238.     access <your local telenet access>
  239.     baud <baudrate of your local telenet access>
  240.  
  241.     For example, a user with telenet userid `fred' with a password of
  242.     `spam' who wants to call the telenet access at 555-1212 at 1200
  243.     baud would have a pcpdial.ini file like so:  
  244.  
  245.     userid fred                 (* Please note that the words userid,
  246.     password spam                  password,access and baud MUST be
  247.     access 555-1212                typed in your pcpdial.ini file. *)
  248.     baud 1200
  249.  
  250.     Pcpdial takes the following options:  
  251.  
  252.              pcpdial [-fx] [-r#] [-l#] city_mnemonic phone#
  253.  
  254.     -f    Force the call even if you're not calling during
  255.         normal pc-p hours.
  256.     -x    Turn debugging on.
  257.     -r    Retry the connect to the remote city # times --
  258.         normally if pcpdial can't get through to the
  259.         remote city after five attempts, it gives up.
  260.     -l    Retry the system number # times -- the default
  261.         is five retries.
  262.     city    city mnemonic for the target city.
  263.     phone#    local phone # to call in that city.
  264.  
  265. 10) SYSOP
  266.  
  267.     Sysop is only available on the Atari ST version of STadel.  It is 
  268.     provided so you can run STadel in the background under Amulti/MX2
  269.     and still be able to get at the console for doing sysop
  270.     activities.  You need to run Sysop from the #sysDir of your STadel
  271.     -- it looks for a file called CITADEL.LCK to determine whether
  272.     STadel is running or not.  (If STadel isn't running, it will
  273.     inform you and exit back to the shell (or desktop...)) 
  274.  
  275. 11) SCANZT
  276.  
  277.     Scanzt is provided for people who are running with the network
  278.     loopzapper active (see network.doc for details on that.) All it
  279.     does is look through the loopzap database and see whether
  280.     everything is okay with it.  If it should find something wrong, it
  281.     will complain to you (and you should run makezt to restore the
  282.     loopzap table.) 
  283.  
  284. 12) MAKEZT
  285.  
  286.     Makezt is also provided for people who are running with the
  287.     network loopzapper.  But instead of merely scanning the zap table,
  288.     it will rebuilt it from scratch.  This comes in handy if you
  289.     suspect that your loopzap table has been corrupted or if some
  290.     message came in from another system with a corrupted date and so
  291.     created a logjam.  
  292.  
  293.     To run it, merely cd to the directory that contains your
  294.     ctdltabl.sys and type `Makezt', then stand back.  Makezt will
  295.     print a lot of information to the screen as it runs, so you don't
  296.     need to pay much attention to it.  If something goes wrong, Makezt
  297.     will stop, print out an error message, then throw out your
  298.     ctdltabl.sys.  
  299.  
  300. 13) SPOOLEDT
  301.  
  302.     Spooledt is provided to allow you to edit your network file
  303.     request and sendfile queues.  To use it, merely type `Spooledt
  304.     <nodename>'.  Spooledt will then locate the appropriate queue and
  305.     invoke your favorite editor to edit it.  To tell spooledt what
  306.     your favorite editor is, you must either set an environment
  307.     variable EDITOR that contains the full pathname of the editor, or
  308.     you must copy the editor into your #netdir as EDITOR.EXE (or 
  309.     EDITOR.TOS for the Atari ST.) 
  310.     Spooledt assumes that your editor will accept command lines and
  311.     understand tabs.  When it invokes your editor, it passes the name
  312.     of the spoolfile to it on the commandline like `$EDITOR
  313.     spoolfile'.  
  314.  
  315. 14) NETMAP
  316.  
  317.     Netmap merely produces a list of all the rooms you share with
  318.     other systems, listed by system.  Netmap has one option - `-p' -
  319.     which tells it to only list the public rooms shared with other
  320.     systems.  
  321.  
  322. 15) RUNIT
  323.  
  324.     Runit will do the dirty work of executing STadel, reconfiguring if
  325.     STadel crashes, and executing other programs just like a
  326.     shellscript would do.  The advantage of runit is that it is
  327.     tailored for STadel, so it takes much less space (~25K runtime
  328.     load.) 
  329.  
  330.     runit            -- run citadel from this directory
  331.     runit [directory]    -- run citadel from [directory]
  332.     runit [run-file]    -- run citadel using [run-file]
  333.  
  334.     When you execute runit, it looks for a run-file to read so it can
  335.     determine what to do.  If you don't provide a run-file on the
  336.     command line, it will look for the file CITADEL.RUN in your
  337.     current working directory (or the [directory] you specify on the
  338.     commandline.) The run-file consists of lines of the form
  339.     <opcode>=<command>.  If the opcode is a non-negative number, the
  340.     command will be executed if STadel returns the given status.
  341.     Otherwise runit will give you an error message and exit if it
  342.     isn't one of the following keywords:  
  343.  
  344.  
  345.         HOME        - where ctdltabl.sys is.
  346.         BIN            - path where programs can be found.
  347.         AFTER        - execute this command after STadel exits,
  348.                   no matter what the status is.
  349.         DEFAULT        - command to execute if STadel returns
  350.                   a status not specified in the
  351.                   run-file.
  352.         ARGS        - arguments to pass to STadel.
  353.  
  354.  
  355.     When runit executes, it first checks to see if ctdltabl.sys 
  356.     exists in the HOME directory specified in the run-file.  If it
  357.     doesn't exist, runit executes Configur If Configur returns a
  358.     nonzero status or if runit cannot find ctdltabl.sys after running
  359.     it, a error message will print and runit will exit.  After this,
  360.     it runs Citadel.  Then it runs all the AFTER commands, then the
  361.     commands that were specified for the status that STadel gave runit
  362.     (or the DEFAULT commands, if no commands were specified.) If, at
  363.     any time, any program returns a negative* status, runit will exit.
  364.  
  365.     Commands that you give runit are broken down into the program name
  366.     and the program tail.  If the program name does not specify a full
  367.     pathname, runit will look in the BIN directory for the program.  If
  368.     you don't specify an extention, runit will look the for files with
  369.     the appropriate extention (.EXE/.COM for MS-DOS, .PRG/.TTP/.TOS
  370.     for GEMDOS) with that name.  There also a few special commands
  371.     that runit understands;  
  372.  
  373.         $RM            - delete files
  374.         $EXIT [status]    - exit runit with status (0 if none)
  375.         $CONFIG        - Configur in the bin directory.
  376.  
  377.     Here is the citadel.run file that Pell uses:  
  378.  
  379.     >
  380.     > BIN=c:\bin
  381.     > ARGS=+netdebug +netlog +zap +hup
  382.     > HOME=f:\pell
  383.     > AFTER=c:\bin\hup -
  384.     > AFTER=c:\bin\callstat -s -u
  385.     >
  386.     > DEFAULT=$EXIT
  387.     > 5=uucall -sstag -x
  388.     > 3=$RM ctdltabl.sys
  389.     > 2=$RM ctdltabl.sys
  390.     > 20=c:\command.com /c c:\bin\popular -msb > f:\pell\library\popular
  391.     >
  392.  
  393.     When STadel returns a status of 2 or 3, runit deletes 
  394.     ctdltabl.sys;  when STadel returns status of 5, uucall calls the
  395.     primary netfeed;  when STadel returns status of 6, uucall calls a
  396.     secondary netfeed;  and when status is 20, the popularity index is
  397.     rebuilt.  Any other status causes runit to terminate.  
  398.  
  399.     No matter what the status is, runit will execute HUP to disable
  400.     the modem, then delete the call log.  
  401.